A toolbox created by the script can be used as the base of a pet
container that is manually updated with new dependencies over time
and accumalates additional packages; or it can be used as a deposable
container that is recreated each time the dependencies change.
To make the latter case more convenient, add a --replace option
that deletes an existing toolbox before creating the new one.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
default "$DEFAULT_NAME"
-v, --version=VERSION Create container for stable version VERSION
(like 44) instead of the main branch
+ -r, --replace Replace an existing container
-h, --help Display this help
EOF
TEMP=$(getopt \
--name $(basename $0) \
- --options 'n:v:h' \
+ --options 'n:v:rh' \
--longoptions 'name:' \
--longoptions 'version:' \
+ --longoptions 'replace' \
--longoptions 'help' \
-- "$@")
shift 2
;;
+ -r|--replace)
+ REPLACE=1
+ shift
+ ;;
+
-h|--help)
usage
exit 0
TAG=${VERSION:-main}
if podman container exists $NAME; then
- die "Container $NAME" already exists
+ [[ $REPLACE ]] ||
+ die "Container $NAME already exists and --replace was not specified"
+ toolbox rm --force $NAME
fi
podman pull $TOOLBOX_IMAGE:$TAG